
#   state
uint8 NEWBORN=0
uint8 FABRICATING=1
uint8 FABRICATED=2
uint8 EXECUTING=3
uint8 PAUSED=4
uint8 EXECUTED=5
uint8 RECLEANING=6
uint8 FINISHED=7
uint8 TERMINATED=8
uint8 ERROR=255

uint8 BLOCKED=21
uint8 USER_CANCEL=22

#   type
uint8 TEMP=0
uint8 TIMER=1
uint8 STATIC=2
uint8 DYNAMIC=3

#   clean_mode
uint8 NORM_SWEEP=0      #清扫（普通弓形）
uint8 ROUND_SWEEP=1      #清扫（回形）
uint8 PERIMETER_SWEEP=2     #清扫（贴边）
uint8 NROM_PERI=3       #清扫（贴边+普通弓形）
uint8 ROUND_PERI=4       #清扫（贴边+回形）
uint8 FOLLOW_TEACH=5    #记忆清扫功能
uint8 P2P=6     #仅导航到点（P2P)
uint8 FLOOR_TRANS=7     #楼层切换
uint8 CHARGE=16  #回桩充电
uint8 AUTO_PATH=8 #自适应路径
#   device_mode
uint8 SWEEP=1
uint8 WASH=2
uint8 POLISH=4
uint8 DISINFCET=8

# global_spd 类型
uint8 LOW_SPEED=1
uint8 MID_SPEED=2
uint8 HIGH_SPEED=3

string task_name  #任务名称
string descript   #任务描述
uint8 priority    #任务重排优先级
int8 enqueue_mode # 任务入队模式 0 插入队尾 -1 插入队头 其它值暂不做处理
string map_name   #任务所属哪个地图(一般由云服务器或APP指定)
string map_SubID  #所属的大楼
string group_name   #所属群组 如定时任务名称、任务组名称 ft.wang 20230423
geometry_msgs/Point path_start  #全覆盖路径指定起点
geometry_msgs/Polygon global_area #任务的范围(一般由云服务器或APP指定)
geometry_msgs/Polygon[] affiliated_areas
geometry_msgs/Polygon[] eliminated_areas
geometry_msgs/Polygon[] danger_areas

uint8 state       #任务的生命周期
uint8 type        #任务类型(是临时任务还是需要存储的任务)
uint64 id         #任务队列ID（载入队列时分配）
uint8 clean_mode  #任务的全局清扫类型(是否需要贴边或补漏清扫，或点对点，或充电)
uint8 device_mode   #清扫默认设备类型（扫，洗，拖，喷雾....）
float32 estimated_time_cost   #任务预计耗时
uint8 global_spd  #在此任务下全局清扫速度,1-低速，2-中速，3-高速
float32 executed  #任务已经执行完成的百分比

float32 time_elapsed  #任务已经消耗的时间

float32 theoretic_cov_rate  #当前任务下的全部待清扫区域面积，单位：m^2
float32 cov_rate  #当前地图下的清扫完成度，最大值为100（代表全覆盖），最小值为0（代表无清扫）,单位：%

nav_msgs/OccupancyGrid area_mask  #任务清扫区域掩盖地图
nav_msgs/OccupancyGrid cleaned_mask #任务完成区域掩盖地图

cln_msgs/TaskMeta[] subtasks  #任务下的任务元

float32 x #机器人x坐标
float32 y #机器人y坐标
float32 yaw #机器人当前转向角度

# 任务记录使用
time add_time   #任务添加时间  online_task节点实现 20230214
time start_time #任务开始执行时间 online_task节点实现 20230214
time end_time   #任务结束执行时间 dynamic controller节点实现 20230214

float32 estimated_working_duration      #任务预计耗时，单位：s 20240529
float32 actual_working_duration         #任务实际耗时，单位：s 20240529

bool is_cancel  #是否被取消 online_task节点实现 20230214
int32 error_code #错误码
string error_info #错误信息
string clean_mode_name # 清扫模式名
string clean_map_url    #本机清扫记录图片地址
string clean_map_qiniu_url #七牛云清扫记录图片地址

#任务取消使用
bool no_cancellation   #禁止取消，默认容许被取消

string task_id  
string add_time_str 
string start_time_str
string end_time_str

float32 avoidance_obstacle_number   #避障次数
float32 extrication_number          #脱困次数
float32 extrication_time            #脱困时间